package br.com.salaodebeleza.business;

import java.util.List;

import javax.inject.Inject;

import br.com.salaodebeleza.domain.TbGrupo;
import br.com.salaodebeleza.domain.TbMenu;
import br.com.salaodebeleza.persistence.TbMenuDAO;
import br.gov.frameworkdemoiselle.stereotype.BusinessController;
import br.gov.frameworkdemoiselle.template.DelegateCrud;

@BusinessController
public class TbMenuBC extends DelegateCrud<TbMenu, Long, TbMenuDAO> {
	
	private static final long serialVersionUID = 1L;
	
	@Inject
	private TbMenuDAO menuDAO;
	
	public TbMenu removerGrupo(TbMenu menu, TbGrupo detalheGrupo) {
		menu = load(menu.getId());
		detalheGrupo = (new TbGrupoBC()).load(detalheGrupo.getId());
		menu.getTbGrupos().remove(detalheGrupo);
		detalheGrupo.getTbMenus().remove(menu);
		return menu;
	}
	
	public List<TbMenu> buscarMenusFilhos(TbMenu menu) {
		return menuDAO.buscarMenusFilhos(menu);
	}
	
}
